home *** CD-ROM | disk | FTP | other *** search
/ Young Minds / Young Minds Interactive CD-ROM.ISO / sdi / random.c < prev    next >
Encoding:
C/C++ Source or Header  |  1987-06-18  |  525 b   |  28 lines

  1. /*************************  random.c  ***************************/
  2. /*
  3.  * NOT Copyright 1987 by Mark Weiser.
  4.  * This routine placed in the public domain. (:-)
  5.  */
  6.  
  7. /*
  8.  *  returns a normally distributed random number
  9.  */
  10.  
  11. #define MAXRANDOM (~(1<<31))
  12. #define COUNT (8)
  13. #define SD (1000)
  14. normal(mean,sd)
  15. {
  16.     long a, b, c, d, e, f;
  17.     register long sum = 0;
  18.     long random();
  19.     register int count=COUNT;
  20.  
  21.     while (count--) {
  22.         sum  += random() / (COUNT*SD);
  23.     }
  24.  
  25.     return ((sum - (MAXRANDOM/(2*SD)))*sd)/(MAXRANDOM/(COUNT*SD)) + mean;
  26. }
  27.  
  28.